home *** CD-ROM | disk | FTP | other *** search
- M.D.E. - "My DOOM Editor"
- by Patrick J. Steele
-
- Copyright (c) 1994, Patrick J. Steele
- Version 1.0
- Additional design/input by Steven Spalding and Kevin Plancke
-
- ** NEW TO VERSION 1.00 **
- -------------------------
-
- * PWAD support! MDE will now create a PWAD instead of
- modifying your original DOOM.WAD. A PWAD is a small
- WAD file with only the information for one level -
- great for uploading to bbs'!
-
- * Enhanced user interface! Now objects, wall textures
- and floor textures have a "windows-like" listbox from
- which to make your selections.
-
- * The listbox mentioned above has a "preview" option to
- look at the floor/ceiling textures as well as the wall
- textures!
-
- * The floor/ceiling texture display (as well as the new
- wall display) have been greatly speeded up!
-
- * Color-coded objects! The map is easier to view and
- setup with the addition of color codes for the
- different objects.
-
- * Deaf creatures! You can now modify the behavior of
- the DOOM creatures. Deaf creatures will not move until
- they actually see you, while "non-deaf" creatures will
- start hunting you down as soon as they hear all the
- racket you're making!
-
- * Thanks to the new DOOM specs (v1.2) all of the
- Linedef attributes are known, and modifiable, in MDE.
-
- * A "Use Last" button when changing wall textures!
- This button allows you to quickly copy wall textures to
- different walls.
-
- * MDE now has a batch file to load/unload the video
- driver automatically.
-
- FASTGRAPH/LIGHT
- ---------------
-
- This program is using FastGraph/Light, a powerful graphics
- library for C/C++, BASIC, PASCAL and FORTRAN. I highly
- recommend it to all programmers looking for a fast graphics
- library that supports a *lot* of video cards/modes.
- Contact:
-
- Ted Gruber Software
- PO Box 13408
- Las Vegas, NV 89112
- Orders/Info (702) 735-1980
- FAX (702) 735-4603
- BBS (702) 796-7134
-
- The one drawback is the external driver needed to run
- FG/Light applications. It's included with MDE and it must
- be loaded before running MDE. It takes about 120k of
- conventional memory. The full blown version of FastGraph
- does not require this driver (and it has a lot more
- features), but it was $150 more than FG/Light ($49). So, I
- hope you have enough memory to run MDE. I still need to do
- more testing to determine the minimum amount needed to run.
-
- LEGAL NOTICE
- ------------
-
- MDE will only work with the registered version of DOOM. If
- you only have the shareware version, I strongly suggest you
- register. The $46 is well worth it. Episodes 2 and 3 are
- fantastic!
-
- MDE is Copyright(c) 1994 by Patrick J. Steele. MDE is not
- an id Software product and id Software cannot provide any
- support or assistance for MDE. Also, id Software cannot
- provide any support for any levels modified by MDE.
-
- THANKS
- ------
-
- A special thanks goes out to Steven Spalding and Kevin
- Plancke for beta testing MDE and providing some really neat
- ideas. Thanks guys!
-
- INSTRUCTIONS
- ------------
-
- To run MDE, simply enter, "MDE" at the DOS prompt. The
- FastGraph video driver will be installed and MDE will run
- (NOTE: The driver will automatically be unloaded after you
- exit MDE). You will be prompted with a selection screen.
- You can use the arrow keys to select the episode and level
- number you want to edit. Any other keys will be used as
- input into the bottom field where the location of your
- DOOM.WAD is located. You need to include the DOOM.WAD in
- the filename. Example: If you have DOOM installed on the E:
- drive in a directory named "DOOM", your path would be:
-
- E:\DOOM\DOOM.WAD
-
- Once you've entered the location of your DOOM.WAD and
- selected a map, press <Return> to edit the map.
-
- You will be given an overhead view of the map. The red dots
- are creatures, the blue dots are objects you can pick up or
- interact with (ammo, weapons, keys, health, etc.), the
- yellow dots are the rest of the miscellaneous items (trees,
- candles, dead bodies, etc.) and the green points are
- vertexes. Move the mouse to the edges of the screen and the
- map will automatically scroll.
-
- Press the left mouse button while pointing to an object or a
- vector to bring up detailed information.
-
- FOR OBJECTS:
-
- You may change what the object is, the angle it faces,
- what skill levels it will appear on and whether it will
- show up only in network play.
-
- For setting the angle, the following numbers are used:
-
- 9 0
- 135 | 45
- 180 -+- 0
- 225 | 315
- 270
-
-
- The option to set a deaf creature is also available. A
- deaf creature will not attack you, no matter how much
- noise you're making, unless he can actually see you. A
- "non-deaf" creature will start moving and searching for
- you once he hears you shooting. This option is great
- to create an ambush situation. Place about 5 "non-
- deaf" sergeants around a corner. Then place a former
- human at the end of the hall leading to that corner.
- The DOOM player will take a few shots at the former
- human, and the guards will growl to life and suddenly,
- the player is faced with 5 angry sergeant blasting away
- at him!
-
- FOR VERTEXES:
-
- In the DOOM maps, two vertexes form a line (called a
- "linedef" in the WAD file). A line consists of a
- "from" vertex and a "to" vertex. When you select a
- vertex, MDE will display a green line that corresponds
- to a linedef. MDE assumes the vertex you selected was
- the "from" vertex.
-
- NOTE: Some lines are formed by two vertexes at the same
- x,y location. Example:
-
- 1
- |
- |
- |
- 2------------4
- |
- |
- |
- 3
-
- This map shows a line going from 1 to 2, a line from 2
- to 3, and a line from 2 to 4. If you select vertex 2,
- MDE will find the first line that uses vertex 2 as the
- "from" vertex. If the line from 2 to 3 was the first
- one, that line would always be selected. To tell MDE
- to ignore the first instance of the vertex, hold the
- ALT key down while pressing the left mouse button on a
- vertex. In this example, the result would be the line
- from 2 to 4 being selected.
-
- Once a line is selected, a dialog box will display
- information for that "linedef". A sample dialog box is
- show below:
-
- +------------------------------------------------+
- | Attrib |Impass | |MBlock | |2-sided| |BlkSnd | |
- | |Up-Upeg| |Lo-Upeg| |NoMap | |StrtMap| |
- | |Secret | |
- | |
- | Type 000 |+| |-| Trigger 000 |+| |-| |
- | |
- | |Edit R Side| |Edit L Side| |
- +------------------------------------------------+
-
-
- NOTE: The "Edit L Side" button will only be displayed
- if there is a left sidedef (explained later) for this
- line.
-
- "Impass" - This toggle button will make a line
- impassable by the DOOM player. This is generally
- used along walls and the edge of the DOOM
- playfield.
-
- "MBlock" - When pressed, this toggle button will
- block a monster from passing this line.
-
- "2-sided" - This attribute tells the DOOM engine
- that this line has two sides - so if no wall
- texture is defined, the wall is transparent. Wall
- textures are discussed later.
-
- "BlkSnd" - When pressed, this toggle button will
- block sound from passing the selected line.
-
- "Up-Upeg" and "Lo-Upeg" - These attributes tell
- the DOOM engine whether the above (upper) and
- below (lower) wall textures (explained later) are
- "pegged" or not. A pegged texture will move along
- the sector it's defined when the sector moves
- (changes height). An unpegged texture will not
- move. It's a difficult thing to explain. Try and
- look at it graphically:
-
- Imagine the "above" texture being the numbers 1-5
- listed vertically - here's the effect of the wall
- texture on a line that is "unpegged".
-
- | 1 | | 1 | | 1 | | 1 | | 1 |
- +-----+ | 2 | | 2 | | 2 | | 2 |
- +-----+ | 3 | | 3 | | 3 |
- +-----+ | 4 | | 4 |
- +-----+ | 5 |
- +-----+
-
- It looks "funny". The wall doesn't actually look
- like it's "moving" down. If you set the texture
- to be "pegged", the effect will be like this:
-
- | 5 | | 4 | | 3 | | 2 | | 1 |
- +-----+ | 5 | | 4 | | 3 | | 2 |
- +-----+ | 5 | | 4 | | 3 |
- +-----+ | 5 | | 4 |
- +-----+ | 5 |
- +-----+
-
- See the difference? The five is always at the
- bottom of the wall. The "above" texture "moves"
- with the wall. You will see pegged textures with
- doors, since you want the texture to move up as
- the door opens.
-
- "NoMap" - When this button is pressed, the
- selected line will not show up on the map - even
- when the Computer Map is found.
-
- "StrtMap" - When this button is pressed, the
- selected line will show up on the map at the
- beginning of the level - even if you haven't seen
- the line yet.
-
- "Special" - This button will make the automapper
- draw the selected line as a normal line -
- protecting any secret area until the secret is
- opened. This option has nothing to do with the
- secret percentage at the end of a level.
-
- "Type" - The primary use of this field is for
- special "trigger" functions (explained later).
-
- "Trigger" - This field will tie a line and a
- sector (or sectors) together, so when this line is
- crossed or the wall this line defines is pushed,
- something will happen in the sector(s) with the
- same trigger number. That "something" will depend
- on the "Type" field. For example, the value 35 in
- the Type field will cause a sector to go dark
- (loose all light) when the line is crossed.
- Triggers will be discussed in more detail later.
-
- For the "Type" and "Trigger" fields, click the +/-
- buttons to increase and decrease the values. Hold
- down the control key while clicking with the mouse
- to change the value by 10.
-
- Clicking on one of the two "Edit Side" buttons will
- bring up information for a sidedef (explained later).
- A sample dialog box for a sidedef is show below:
-
- +-----------------------------+
- | T-above - |?| |
- | T-norml STARTAN3 |?| |
- | T-below - |?| |
- | |
- | |Edit Sector| |Restore| |
- | |Use Last | |
- +-----------------------------+
-
- "T-above" shows the name of the texture used to
- define the area of a wall "above" a sector where
- there is an adjacent sector with a lower ceiling.
-
- "T-norml" is the name of the normal (eye-level)
- texture used to define the wall image.
-
- "T-below" is the name of the texture used to
- define the area of a wall "below" a sector where
- there is an adjacent sector with a higher floor.
-
- For the 3 texture fields, click the ? button next
- to the texture name to display a list of available
- wall textures. The 'T' and 'B' keys in the
- listbox allow you to quickly move to the top and
- bottom of the list. The up and down triangle move
- the list in pages, while the up and down arrows
- move through the selections displayed. To see
- what a wall texture looks like click on the
- "Preview" button. When you are done viewing the
- wall, press the right mouse button to continue.
- Select "Ok" to use the selected texture or
- "Cancel" to ignore your selection.
-
- A texture of "-" means there is nothing defined
- for that texture. See the "DETAILED INFORMATION"
- section below for help on these fields.
-
- "Edit Sector" will bring up detailed info about
- the sector this sidedef surrounds (defines). You
- may change a sectors' floor/ceiling texture,
- floor/ceiling height, the amount of light in the
- sector, set up special flags for the sector
- (radioactive damage, flickering lights, pulsating
- lights, etc.) and set the trigger number for
- special effects.
-
- "Restore" will restore the texture names to the
- ones first displayed in this dialog box. If you
- made a mistake in the selection of wall textures,
- press "Restore" to bring the old names back. Once
- you leave this dialog box, the names are saved in
- memory for the rest of the editing session.
-
- "Use Last" will use names of the textures from the
- last "side" you edited. This is handy for copying
- a common set of textures across multiple lines.
-
- When you press the "Edit Sector" button, a third dialog
- box will appear with information for that sector. A
- sample is show below:
-
- +---------------------------------+
- | Ceiling CEIL3_5 72 + - |
- | Floor FLOOR4_2 0 + - |
- | Light 144 + - |
- | Special 0 + - |
- | Trigger 0 + - |
- +---------------------------------+
-
- "Ceiling" and "Floor" shows the name of the
- texture used on the ceiling and the floor,
- respectively (CEIL3_5 and FLOOR4_2 in this
- example), the ceiling height (72) and the floor
- height (0) and the usual +/- buttons for changing
- the height of the ceiling/floor. Click on the
- texture name to change the ceiling or floor
- texture. A listbox will appear allowing you to
- select a new texture. Since floor and ceiling
- textures are so small, the preview button is
- enabled while you scroll through your selections.
-
- The ranges for the ceiling/floor seem to be from
- 512 to -264. A difference of more than 28 will
- prevent the DOOM player from crossing into a
- higher sector. The DOOM player may fall any
- distance.
-
- "Light" displays the light level for the sector.
- The ranges are from 0 (very dark!) to 255 (full
- light)
-
- "Special" - set special flags for this sector. In
- the list below, sectors that cause damage have two
- percentages listed. The first percentage is the
- damage when playing at skill level 1, the second
- percentage is the damage playing at skill levels 2
- and above. The current known values for "Special"
- are:
-
- 0 - Normal sector
- 1 - light level blinks randomly
- 2 - light quickly blinks for 0.5 seconds
- 3 - light quickly blinks for 1.0 second
- 4 - lights pulsate and 10%/20% health loss
- 5 - 5%/10% health loss
- 7 - 2%/5% health loss (typical green acid)
- 8 - light oscillate from 255 to light level
- of adjacent sector
- 9 - secret sector (increments the # of
- secrets found)
- 10 - unknown
- 11 - 10%/20% health loss and takes player out
- of god mode
- 12 - blink (down to very dark)
- 13 - quick pulsate
- 16 - 10%/20% health loss
-
- Values other than those listed can cause DOOM to
- crash with a "UNKNOWN SPECIAL SECTOR" error.
-
- "Trigger" - This will tie a sector and a linedef
- together. Set this field to the same number as
- the trigger field in a linedef to "connect" the
- sector and linedef. The number used to connect
- the sector can be any number you want, just make
- it unique.
-
- Click the right mouse button to back out of all of
- these menus.
-
- OBJECT MOVEMENT
- ---------------
-
- To move an object, select it with the right mouse button.
- While holding down the right mouse button, drag the object
- where you want it and release the mouse button.
-
- KEYS
- ----
-
- Press 'W' to write your changes to a PWAD file. If you
- don't press 'W' your changes will not be saved! MDE will
- warn you if you try to exit without saving your changes.
- The name of the PWAD will be MDE_ExMy.WAD where 'x' is the
- episode # (1-3) and 'y' is the level # (1-9). Press [ESC]
- to exit the program.
-
- To run DOOM with your PWAD file, simply run DOOM with the
- following command:
-
- DOOM -file [your wad file]
-
- Example: If you modified episode 2, level 6 and saved the
- PWAD (MDE_E2M6.WAD), run DOOM as:
-
- DOOM -file mde_e2m6.wad
-
- DETAILED INFORMATION
- --------------------
-
- Here's some more detailed info about MDE. The moving and
- changing of objects is pretty straightforward. What I'll
- explain here is the options you have with the vertexes,
- sidedefs and sectors. If you want to understand more of
- what's here, I've included a copy of "The Unofficial DOOM
- Specs v1.2". That's what made this editor possible and it
- may explain better what I'm about to describe.
-
- Each line will have at least one side defined, called a
- "sidedef", or possibly two. A line will only have one
- sidedef if the DOOM player will never see the other side.
- For example, on the first level of episode one, the DOOM
- player can turn around 180 degrees and see a door. There is
- no way (except with cheat codes) for the player to be on the
- other side of that door, so that line only has one sidedef.
-
- An example of a line with two sidedefs is also on the first
- level of episode one. If you look out the window to the
- right, there's the familiar pool of ooze with the combat
- (blue) armor. The lines defining that pool of acid have two
- sidedefs, the side that faces "in" the pool of acid, and the
- side that faces "out" of the pool.
-
- All of the lines in DOOM have a 'from' vertex and a 'to'
- vertex. As noted earlier, when you select a vertex, MDE
- will find a line based on the point you select being the
- 'from' vertex. When you select a vertex with the left mouse
- button, hold down the mouse button. The line will be high-
- lighted in green so you can see the entire line. The 'from'
- and 'to' vertexes for a line also establish a direction for
- the line. Consider the picture below:
-
- "left side" "right side"
- From------------------->To<-----------------From
- "right side" "left side"
-
- If you were standing with your back to the 'from' vertex and
- your head facing the 'to' vertex, you would see that your
- right arm is on the "right" side of the line and your left
- arm is on the "left" side of the line.
-
- When you release the mouse button, the dialog box for the
- line displays. The button "Edit R Side" allows you to edit
- the right side of the line. The "Edit L Side" button allows
- you to edit the left side of the line. This is cumbersome
- at first, but after a while, you'll get used to it.
-
- As noted above, each line has at least one sidedef. A
- collection of sidedefs forms (or "defines/surrounds") a
- sector. A sector is where the floor/ceiling altitude is
- defined and where the lighting and special flags (for acid
- damage, etc.) are defined. You may edit the altitude of the
- floor and the ceiling, set the light level, and set special
- flags for the sector. You may also tie a line to a sector
- with the "Trigger" field.
-
- SIDEDEF TEXTURES
- ----------------
-
- The three texture names for a sidedef, T-above, T-norml, and
- T-below, all have special meaning. The T-norml level is
- easy - it's the "eye-level" texture for the wall. The above
- and below names are a little tricky.
-
- The above texture tells DOOM what to draw "above" a sector,
- if the sector's ceiling is lower than an adjacent sector.
- Episode 1, Level 1 will give us a good example.
-
- Start on this level, and go the left. When you stand at the
- base of the stairs (leading up to the armor), there are two
- columns with some pulsating lights. This is an example of a
- sector with a lower ceiling than an adjacent sector.
-
- At the top of the column is a kind of diamond shaped light.
- That is the ceiling texture for that sector. The sector you
- are standing in has a higher ceiling than the column, thus
- DOOM needs to know what to draw "above" the column. If you
- look at sidedef1 for each of the 4 sides of the column, T-
- above is set to TEKWALL4.
-
- This same reasoning applies to the below texture. If the
- column and gone all the way to the floor, you wouldn't need
- a below texture. However, the floor of the column is
- "higher" than the "adjacent" sector (which is the sector you
- are standing in). DOOM needs to know what to draw under the
- floor.
-
- TRIGGERS
- --------
-
- To get a sector "tied in" to a line, set the "Trigger" field
- for the linedef and the sector to the same value (any value
- you make up is fine - just make sure it's not in use by some
- other trigger). Once a line and sector are tied together
- (by having the same trigger number), you can define what
- will happen to the sector when the line is crossed, or a
- button along the line is pushed.
-
- The "Type" field of a line will determine what will happen
- in the "tied in" sector. The DOOM specs do an excellent job
- of listing all of the values currently known. Instead of
- duplicating the effort, please consult the DOOM specs for
- the trigger values.
-
- One note about teleporters (trigger 39 and 97): Teleporters
- *require* a teleport destination object to be in the sector
- the trigger is tied to. You will teleport into the sector
- that is "tied in" to the linedef. If a DOOM player crosses
- a line with a type of 39 or 97, DOOM will look for the
- sector the line is tied to. If there is no teleport
- destination object in that sector, the teleport will not
- work (nothing will happen). If there is a teleport
- destination object, the player will be placed there and will
- be facing whatever direction the object is pointed in.
-
- THE END?
- --------
-
- Ok, now I need to know what you think. I need all feedback
- - good/bad/wants/needs. Please leave feedback to me on:
-
- Software Creations: (508) 368-7036
- User name: Patrick Steele
-
- Internet: patrick.steele@swcbbs.com
-
- COMING UP
- ---------
-
- * Creating maps! Right now, there are a few editors out
- there that let you edit/create levels. As soon as I get a
- hold of some code for the internal structures of the WAD
- file that need to be re-created when walls are added/moved,
- I'll start work on MDE to allow map creation!
-
- * Because of memory requirements, Episode #2, Level 7 can
- not be loaded into MDE. It's a huge level (almost 200k of
- data!) I'm going to use expanded memory (EMM) in my next
- version of MDE to reduce the amount of conventional memory
- required. With EMM, adding objects will be available!
-
- * One of my beta testers, Steve Spalding, suggested some
- kind of utility to easily run DOOM with multiple PWAD files
- (instead of typing them all in at the command line). I'm
- looking into that.
-
-